iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Modern Web

前端幼鳥三十天養成記系列 第 27

stack heap內存、預編譯、作用域鏈 - 概念介紹

  • 分享至 

  • xImage
  •  

預編譯發生在何時?

執行全域前一刻,做全域的預編譯;執行function前一刻,做function的預編譯。

預編譯順序

  1. 宣告形參(形式參數)、
    宣告變數(就是指前面有var let const關鍵字,注意此時不賦值)
  2. 賦值實參(實際參數)給形參
  3. 宣告function(不管body,執行時才看)
  4. 開始執行(function變數這裡才賦值)

stack內存, heap內存

https://www.canva.com/design/DAErrHyoVnA/svQCsHa_K5XsRgxNgziYeA/view?utm_content=DAErrHyoVnA&utm_campaign=designshare&utm_medium=link&utm_source=recording_view

stackandHeap

console.log(a);
console.dir(c);
var a=1;
function fun(){
    var b=a;
    b+=1;
}
var c={
	'name':'Linda',
	'state':'hungry',
	'wanttoDO':function(){
		console.log('吃吃吃')
	}
 }
console.dir(c);

var d=c;
d.state='sleepy';
d.wanttoDO=function(){
	console.log('像豬一樣的人')
};
console.dir(c)
fun();

上一篇
預編譯:函數聲明 vs 函數表達式
下一篇
WEB API
系列文
前端幼鳥三十天養成記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言